// 用到了router 路由 即页面切换
import router from "./router";
// 用到了vuex 即store 响应式全局数据存储
import store from "./store";

// 添加白名单
const whiteList = ['/reg','/login']
// 添加路由守卫
router.beforeEach((to, from, next) => {
  // next() 的作用是放行 不写next会卡住 (指定要跳转的页面的路径)
  console.log('页面跳转之前都会经过这里');
  console.log('to:去哪里', to.path);
  console.log('from:从哪里来', from.path);
  // 1.判断是否有token
  const token = store.state.token
  // 白名单列表(不需要权限的页面)
  if (token) {
    // 有token,已经登陆
    console.log('有token,已经登陆');
    // 判断是否去登录页
    if (to.path === '/login') {
      console.log('已有token,跳转回主页');
      next('/')
    } else {
      console.log('放行');
      next()
    }
  } else {
    console.log('没有token,没有登录');
    if (whiteList.includes(to.path)) {
      next()
    } else {
      console.log('您没有白名单,请先登录');
      next('/login')
    }
  }
})